package com.xiaok.mobileredis.filter;

import org.springframework.stereotype.Service;

/**
 * @Classname BloomFilterService
 * @Description 布隆过滤器
 * @Date 2020/9/12 23:27
 * @Created by xiaok
 */
@Service
public class BloomFilter {
/*    @Resource
    private SysUserMapper sysUserMapper;
    //布隆过滤器
    private BloomFilter<Integer> bf;

    *//**
     * PostConstruct 应用启动时加载此方法
     * Java中该注解的说明：@PostConstruct该注解被用来修饰一个非静态的void（）方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行，
     * 并且只会被服务器执行一次。PostConstruct在构造函数之后执行，init（）方法之前执行。
     * Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
     *//*
    @PostConstruct
    public void inintBloomFilter(){
        List<SysUser> sysUsers = sysUserMapper.selectAll();
        if(CollectionUtils.isEmpty(sysUsers)){
            return;
        }
        //初始化布隆过滤器
        BloomFilter.create(Funnels.integerFunnel(),sysUsers.size());
        for (SysUser sysuser: sysUsers) {
            bf.put(sysuser.getId());
        }
    }

    *//**
     * 判断当前用户是否存在在布隆过滤器
     * @param id
     * @return
     *//*
    public boolean userIdExists(int id){
            return bf.mightContain(id);
    }*/

}
